package com.tm.dao;

import com.tm.entity.Student;

import java.util.List;

public interface IStudentDao {

    /**
     * 获取所有的学生对象集合
     * @return 学生对象集合
     */
    List<Student> getAllStudents();

    /**
     * 获取满足分页条件的学生对象集合
     * @param cp current page， 当前页码
     * @param ps page size， 每页的最大条目数
     * @return 满足分页条件的所有的学生对象集合
     */
    List<Student> getStudentsByPage(int cp, int ps);

    /**
     * 根据sid获取该sid的学生对象
     * @param sid 学号
     * @return  学号对应的学生
     */
    Student getStudentBySid(int sid);

    /**
     * 新增学生对象
     * @param s 要新增的学生
     * @return 新增学生执行后的受影响行数
     */
    int saveStudent(Student s);

    /**
     * 修改学生对象
     * @param s 新修改的学生对象
     * @return 修改学生后受影响的行数
     */
    int updateStudent(Student s);

    /**
     * 删除学生对象
     * @param s 要删除的学生对象
     * @return 删除学生对象之后受影响的行数
     */
    int deleteStudent(Student s);

    /**
     * 根据学生的sid删除学生对象
     * @param sid 要删除的学生编号
     * @return 删除该sid对应学生的受影响行数
     */
    int deleteStudent(int sid);
}
